package com.tanhua.dubbo.api.db;


import com.tanhua.domain.db.*;

import java.util.List;

/**
 * @Author Jyz 吴盛强
 * @Date 2021/8/23 - 13:09
 * @Description com.tanhua.dubbo.api.mongo
 * @Since version-11
 */
public interface TestSoulApi {
    /**
     * 根据当前用户Id和试卷Id查询
     */
    SoultestResult getResult(Long userId, Long id);
    /**
     * 根据当前用户查询报告表中类别最高的记录
     */
    SoultestResult getBigPaperId(Long userId);

    /**
     * 查询到所有的试卷对象
     */
    List<SoultestPaper> getPaper();

    /**
     * 根据试卷id查询问题表 返回问题对象集合
     */
    List<SoultestQuestion> getQuestions(Long paperId);
    /**
     * 根据问题id查询问题表
     */
    SoultestQuestion queryQuestionById(Long questionId);
    /**
     * 根据问题id查询选项表 返回选项对象集合
     */
    List<SoultestOption> queryOptionListByQuestionId(Long questionId);

    /**
     * 根据选项id查询选项对象
     */
    SoultestOption querySoulOptionById(Integer optionId);
    /**
     * 根据前端提供的报告id查询报告内容
     */
    SoultestResult getById(Long resultId);
    /**
     *根据鉴定的类型查询描述的表 得到描述的信息
     */
    SoultestConclusion getConclusion(Long type);

    /**
     *根据鉴定的类型查询相似类型的用户 得到相似用户的集合
     */
    List<UserInfo> getSimilarYou(Long type,Long resultId,Integer paperId,String gender);

    /**
     *向报告表插入一条记录
     */
    String saveReport(SoultestResult soultestResult);

    /**
     *保存报告记录或更新记录
     */
    String saveOrUpdate(SoultestResult soultestResult);
}
